#第3周作业
#写出一个函数def functer(var1:list, var2: int)，第一个参数是列表，第二个参数是数字，
#函数返回一个列表。返回的结果是var1内元素，且能够整除var2。
def functer(var1:list,var2:int):
    return[i for i in var1 if i%var2==0]

print(functer(list(range(100)),7))
#给定两个字符串，写一个函数，返回这两个字符串中最长的相同部分。
#例如"knowledge"和"known"相同的最长部分是"know"
def max_len_same_str(s1:str,s2:str):
    m=[[0 for i in range(len(s2)+1)]for j in range(len(s1)+1)]
    mmax=0
    end=0
    for i in range(len(s1)):
        for j in range(len(s2)):
            if s1[i]==s2[j]:
                m[i+1][j+1]=m[i][j]+1
                if m[i+1][j+1]>mmax:
                    mmax=m[i+1][j+1]
                    end=i
    return s1[end+1-mmax:end+1]
 
print(max_len_same_str('asdfghj','asd,;fghj'))

# 写的很棒，两道题都答的简洁明了，结果也基本都是对的，第二道题需要考虑一个特殊情况。当两个子字符串长度相同时，
# 该怎么处理？